package com.huirui.server.pojo.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

/**
 * 验证码登录数据传输对象
 * 用于接收前端传递的手机号和验证码参数
 */
@Data
@Schema(description = "验证码登录请求参数")
public class VerificationCodeLoginDTO {

    /**
     * 手机号
     * 校验规则：非空 + 符合中国大陆手机号格式
     */
    @NotBlank(message = "手机号不能为空")
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
    @Schema(description = "用户手机号", example = "13800138000", requiredMode = Schema.RequiredMode.REQUIRED)
    private String phone;

    /**
     * 验证码
     * 校验规则：非空 + 6位数字
     */
    @NotBlank(message = "验证码不能为空")
    @Pattern(regexp = "^\\d{6}$", message = "验证码必须是6位数字")
    @Schema(description = "手机验证码（6位数字）", example = "123456", requiredMode = Schema.RequiredMode.REQUIRED)
    private String code;
}